package com.tenghui.assisting.mapper;

import java.util.List;
import com.tenghui.assisting.domain.Addresses;

/**
 * 收货地址Mapper接口
 * 
 * @author tenghui
 * @date 2025-11-02
 */
public interface AddressesMapper 
{
    /**
     * 查询收货地址
     * 
     * @param addressesId 收货地址主键
     * @return 收货地址
     */
    Addresses selectAddressesByAddressesId(String addressesId);

    /**
     * 查询收货地址列表
     * 
     * @param addresses 收货地址
     * @return 收货地址集合
     */
    List<Addresses> selectAddressesList(Addresses addresses);

    /**
     * 新增收货地址
     * 
     * @param addresses 收货地址
     * @return 结果
     */
    int insertAddresses(Addresses addresses);

    /**
     * 修改收货地址
     * 
     * @param addresses 收货地址
     * @return 结果
     */
    int updateAddresses(Addresses addresses);

    /**
     * 删除收货地址
     * 
     * @param addressesId 收货地址主键
     * @return 结果
     */
    int deleteAddressesByAddressesId(String addressesId);

    /**
     * 批量删除收货地址
     * 
     * @param addressesIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteAddressesByAddressesIds(String[] addressesIds);

    /**
     * 批量取消用户的所有默认地址
     *
     * @param userId 当前用户ID
     * @return 结果
     */
    int cancelPreviousDefaultAddress(Long userId);
}
